[INFO] cloning repository https://github.com/Alberto-Perez-1994/Chess-Engine
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Alberto-Perez-1994/Chess-Engine" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlberto-Perez-1994%2FChess-Engine", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlberto-Perez-1994%2FChess-Engine'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 13c63f1acf9329762718e8fbced68469cb16253d
[INFO] checking Alberto-Perez-1994/Chess-Engine against master#af3c6e733a40e671550e0f0f5aeecaa13772ba56 for pr-74989
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlberto-Perez-1994%2FChess-Engine" "/workspace/builds/worker-4/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Alberto-Perez-1994/Chess-Engine on toolchain af3c6e733a40e671550e0f0f5aeecaa13772ba56
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Alberto-Perez-1994/Chess-Engine
[INFO] removed workspace from git repo https://github.com/Alberto-Perez-1994/Chess-Engine
[INFO] finished tweaking git repo https://github.com/Alberto-Perez-1994/Chess-Engine
[INFO] tweaked toml for git repo https://github.com/Alberto-Perez-1994/Chess-Engine written to /workspace/builds/worker-4/source/Cargo.toml
[INFO] crate git repo https://github.com/Alberto-Perez-1994/Chess-Engine already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b31424593571a7dc64c4a3b3677e496ed4332f4e9c0b689cf00a9d02f7defbcc
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "b31424593571a7dc64c4a3b3677e496ed4332f4e9c0b689cf00a9d02f7defbcc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b31424593571a7dc64c4a3b3677e496ed4332f4e9c0b689cf00a9d02f7defbcc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b31424593571a7dc64c4a3b3677e496ed4332f4e9c0b689cf00a9d02f7defbcc", kill_on_drop: false }`
[INFO] [stdout] b31424593571a7dc64c4a3b3677e496ed4332f4e9c0b689cf00a9d02f7defbcc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 86dbfd338482d9253f3528440c8cd28ac92601f37fe8ec13c57218b5ad0e97af
[INFO] running `Command { std: "docker" "start" "-a" "86dbfd338482d9253f3528440c8cd28ac92601f37fe8ec13c57218b5ad0e97af", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.62
[INFO] [stderr]    Compiling getrandom v0.1.12
[INFO] [stderr]     Checking lazy_static v1.3.0
[INFO] [stderr]    Compiling memchr v2.2.1
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]     Checking ppv-lite86 v0.2.5
[INFO] [stderr]     Checking regex-syntax v0.6.11
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]     Checking c2-chacha v0.2.2
[INFO] [stderr]     Checking aho-corasick v0.7.6
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking rand_chacha v0.2.1
[INFO] [stderr]     Checking rand v0.7.2
[INFO] [stderr]     Checking regex v1.2.1
[INFO] [stderr]     Checking chess v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/move_gen.rs:411:52
[INFO] [stdout]     |
[INFO] [stdout] 411 |                     if file & king_position != 0 { (file & mask) }
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/move_gen.rs:412:57
[INFO] [stdout]     |
[INFO] [stdout] 412 |                     else if rank & king_position != 0 { (rank & mask) }
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/move_gen.rs:413:57
[INFO] [stdout]     |
[INFO] [stdout] 413 |                     else if diag & king_position != 0 { (diag & mask) }
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/move_gen.rs:414:62
[INFO] [stdout]     |
[INFO] [stdout] 414 |                     else if anti_diag & king_position != 0 { (anti_diag & mask) }
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/search.rs:21:45
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn divide (&mut self, depth: u8) -> (HashMap<String, u64>) {
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/move_gen.rs:411:52
[INFO] [stdout]     |
[INFO] [stdout] 411 |                     if file & king_position != 0 { (file & mask) }
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/move_gen.rs:412:57
[INFO] [stdout]     |
[INFO] [stdout] 412 |                     else if rank & king_position != 0 { (rank & mask) }
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/move_gen.rs:413:57
[INFO] [stdout]     |
[INFO] [stdout] 413 |                     else if diag & king_position != 0 { (diag & mask) }
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/move_gen.rs:414:62
[INFO] [stdout]     |
[INFO] [stdout] 414 |                     else if anti_diag & king_position != 0 { (anti_diag & mask) }
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/search.rs:21:45
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn divide (&mut self, depth: u8) -> (HashMap<String, u64>) {
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enemy_side`
[INFO] [stdout]    --> src/move_gen.rs:231:88
[INFO] [stdout]     |
[INFO] [stdout] 231 |     fn get_knight_moves (&self, index: usize, movegen_type: MoveGen, player_side: u64, enemy_side: u64) -> u64 {
[INFO] [stdout]     |                                                                                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_side`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enemy_side`
[INFO] [stdout]    --> src/move_gen.rs:315:91
[INFO] [stdout]     |
[INFO] [stdout] 315 |     fn get_king_moves (&self, king_index: usize, movegen_type: MoveGen, player_side: u64, enemy_side: u64) -> u64 {
[INFO] [stdout]     |                                                                                           ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_side`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `captures` is never read
[INFO] [stdout]   --> src/search.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 80 |             captures += captured;
[INFO] [stdout]    |             ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enemy_side`
[INFO] [stdout]    --> src/move_gen.rs:231:88
[INFO] [stdout]     |
[INFO] [stdout] 231 |     fn get_knight_moves (&self, index: usize, movegen_type: MoveGen, player_side: u64, enemy_side: u64) -> u64 {
[INFO] [stdout]     |                                                                                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_side`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enemy_side`
[INFO] [stdout]    --> src/move_gen.rs:315:91
[INFO] [stdout]     |
[INFO] [stdout] 315 |     fn get_king_moves (&self, king_index: usize, movegen_type: MoveGen, player_side: u64, enemy_side: u64) -> u64 {
[INFO] [stdout]     |                                                                                           ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_side`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `captures` is never read
[INFO] [stdout]   --> src/search.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 80 |             captures += captured;
[INFO] [stdout]    |             ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/evaluation.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let mut pieces: u64 = player_side;
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/search.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let mut pieces = match self.player {Player::White => self.white_side,  Player::Black => self.black_side};
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/search.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let mut pieces = match self.player {Player::White => self.white_side,  Player::Black => self.black_side};
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/evaluation.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let mut pieces: u64 = player_side;
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/search.rs:127:13
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let mut pieces = match self.player {Player::White => self.white_side,  Player::Black => self.black_side};
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/search.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let mut sorted_moves; let mut sorted_moves_iter; let mut unsorted_moves;
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/search.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |         let mut pieces = match self.player {Player::White => self.white_side,  Player::Black => self.black_side};
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/search.rs:214:13
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let mut sorted_moves = &mut tt_moves[0..i];
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/search.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let mut pieces = match self.player {Player::White => self.white_side,  Player::Black => self.black_side};
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/search.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let mut pieces = match self.player {Player::White => self.white_side,  Player::Black => self.black_side};
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/search.rs:127:13
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let mut pieces = match self.player {Player::White => self.white_side,  Player::Black => self.black_side};
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/search.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let mut sorted_moves; let mut sorted_moves_iter; let mut unsorted_moves;
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/search.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |         let mut pieces = match self.player {Player::White => self.white_side,  Player::Black => self.black_side};
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/search.rs:214:13
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let mut sorted_moves = &mut tt_moves[0..i];
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transposition_table.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let mut board = Bitboard::new(board);
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transposition_table.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let mut attacks = Bitboard::new(0);
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `start`
[INFO] [stdout]   --> src/board.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn start () -> Board {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `divide`
[INFO] [stdout]   --> src/search.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn divide (&mut self, depth: u8) -> (HashMap<String, u64>) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `format_index`
[INFO] [stdout]  --> src/cli.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub fn format_index (index: u8) -> String {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `print_divide`
[INFO] [stdout]    --> src/cli.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn print_divide (&mut self, depth: u8) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `print_divide_comparison`
[INFO] [stdout]    --> src/cli.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn print_divide_comparison (&mut self, fen_string: &str, depth: u8) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_stockfish_divide`
[INFO] [stdout]    --> src/cli.rs:144:8
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn get_stockfish_divide (fen_string: &str, depth: u8) -> HashMap<String, u64> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `const_saturating_int_methods`
[INFO] [stdout]  --> src/main.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(const_saturating_int_methods)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transposition_table.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let mut board = Bitboard::new(board);
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transposition_table.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let mut attacks = Bitboard::new(0);
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Knight`
[INFO] [stdout]   --> src/board.rs:18:29
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum Promotion { Queen, Knight, Rook, Bishop, None }
[INFO] [stdout]    |                             ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Rook`
[INFO] [stdout]   --> src/board.rs:18:37
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum Promotion { Queen, Knight, Rook, Bishop, None }
[INFO] [stdout]    |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Bishop`
[INFO] [stdout]   --> src/board.rs:18:43
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum Promotion { Queen, Knight, Rook, Bishop, None }
[INFO] [stdout]    |                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `None`
[INFO] [stdout]   --> src/board.rs:18:51
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum Promotion { Queen, Knight, Rook, Bishop, None }
[INFO] [stdout]    |                                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `start`
[INFO] [stdout]   --> src/board.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn start () -> Board {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `divide`
[INFO] [stdout]   --> src/search.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn divide (&mut self, depth: u8) -> (HashMap<String, u64>) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `perft`
[INFO] [stdout]   --> src/search.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn perft (&mut self, depth: u8) -> (u64, u64, u64, u64, u64) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `format_index`
[INFO] [stdout]  --> src/cli.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub fn format_index (index: u8) -> String {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `print_perft`
[INFO] [stdout]   --> src/cli.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub fn print_perft (&mut self, depth: u8) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `print_divide`
[INFO] [stdout]    --> src/cli.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn print_divide (&mut self, depth: u8) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `print_divide_comparison`
[INFO] [stdout]    --> src/cli.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn print_divide_comparison (&mut self, fen_string: &str, depth: u8) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_stockfish_divide`
[INFO] [stdout]    --> src/cli.rs:144:8
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn get_stockfish_divide (fen_string: &str, depth: u8) -> HashMap<String, u64> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `const_saturating_int_methods`
[INFO] [stdout]  --> src/main.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(const_saturating_int_methods)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `chess`.
[INFO] [stdout] error: aborting due to previous error; 23 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0635`.
[INFO] [stdout] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to previous error; 29 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0635`.
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "86dbfd338482d9253f3528440c8cd28ac92601f37fe8ec13c57218b5ad0e97af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "86dbfd338482d9253f3528440c8cd28ac92601f37fe8ec13c57218b5ad0e97af", kill_on_drop: false }`
[INFO] [stdout] 86dbfd338482d9253f3528440c8cd28ac92601f37fe8ec13c57218b5ad0e97af
